package com.linkhub.oms.admin.modules.order.domain.param;

import com.linkhub.oms.admin.modules.user.domain.param.BaseUserParam;
import com.linkhub.oms.common.enums.mp.CustomerBusinessStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * @Description: CustomerOrderQueryParam
 * @Author: echo
 * @Date: 2024/3/29 16:12
 * @Version: 1.0
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "CustomerOrderQueryParam", description = "CustomerOrderQueryParam")
public class CustomerOrderQueryParam extends BaseUserParam implements Serializable {

    @ApiModelProperty(value = "页数, 从1开始")
    @NotNull(message = "{validation.page.notNull}")
    @Range(min = 1, message = "{validation.page.min}")
    private Integer page;

    @ApiModelProperty(value = "每页大小")
    @NotNull(message = "{validation.pageSize.notNull}")
    private Integer size;

    @ApiModelProperty(value = "页签类型：1-待匹配;2-待付款;3-待审核;4-待处理;5-已作废;6-非ShipO订单;7-已取消（已无该状态）; 21-履约中/有货；22-履约中/无货;30-异常；35-待发货；40-追踪中；50-搁置中")
    @NotNull(message = "{validation.order.tabType.notNull}")
    private Integer tabType;

    @ApiModelProperty(value = "订单状态：null-全部；1-未付款;2-已付款;3-部分退款;4-已退款;5-已取消；20-shipO审核中;21-待打包；22-已出库；30-已驳回;40-已发货;41-已签收；")
    private Integer orderStatus;

    @ApiModelProperty(value = "订单号关键词")
    private String orderNumber;

    @ApiModelProperty(value = "系统商店id")
    private List<String> sysShopIds;
}
